home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Experimental BBS Explossion 3
/
Experimental BBS Explossion III.iso
/
gus
/
sdkdigv2.zip
/
SDKV2N19.TXT
< prev
next >
Wrap
Text File
|
1993-06-25
|
5KB
|
157 lines
GUS Programmer's Digest Fri Jun 25 00:07 Volume 2: Issue 19
Today's Topics:
DMA Buffers in PC RAM
GUS' Timer Precision
GUS Programmer's Digest V2 #18 (2 msgs)
Standard Info:
- Meta-info about the GUS can be found at the end of the Digest.
- Before you ask a question, please READ THE FAQ.
----------------------------------------------------------------------
Date: Thu, 24 Jun 93 15:33:13 EDT
From: davidm@opl.com
Subject: DMA Buffers in PC RAM
Message-ID: <AFD5D17B-D17C0001@woodstock.opl.com>
I know, my third message in one day. Pardon my bandwidth
overutilization :-)
I know that if you call UltraStartRecord with the AutoInit
flag set, it will return an error if the autoinit buffer crosses
a 64K boundry. It is my understanding that the PC DMA
controller generates only the 16 low order bits of an address
while the 4 high order bits are stored in a "page register" (or
something like that). This indicates to me that the entire DMA
buffer (regardless of its size) must reside within a single 64K
page of memory. This leads me to the following questions:
1) Is it true that the entire DMA buffer (regardless of its size)
must reside within a single 64K page of memory?
2) If so, does anyone know how I can allocate memory that
will be garunteed to all be within a single 64K page of
memory?
Regarding question two, I know that if I allocate a block of
memory that is twice the size of my desired buffer (assuming
that my desired buffer size is less than 32768), then a block
will exist somewhere within that oversized block that will reside
in a single 64K page. Is there a cleaner way? I looked in the
FAQ of comp.os.msdos.programmer and didn't see anything
about this in there.
Thanks for your help,
Dave
David MacMahon
Systems Administrator
davidm@opl.com
------------------------------
Date: Thu, 24 Jun 93 12:05:28 EDT
From: davidm@opl.com
Subject: GUS' Timer Precision
Message-ID: <AFD5A0C9-A0CA0001@woodstock.opl.com>
I have a question about the GUS' timers.
The SDK says that the ticks of timer 1 are 80us the ticks
of timer 2 are 320us. Are these exact values? I assume
that there is an oscillator on the GUS whose frequency is
divided down to give these times, but do the frequency and
the divisor work out to exactly 80us for timer 1? I also
assume that the freq. of timer 2 exactly equals 1/4 the freq.
of timer 1.
Assuming my first assumption is correct, does anyone know
the frequency of the oscillator and/or the value by which it
is divided?
Thanks for any input,
Dave
David MacMahon
Systems Administrator
davidm@opl.com
------------------------------
Date: Thu, 24 Jun 93 09:11:22 EDT
From: dulimart@cps.msu.edu (Hansye S. Dulimarta)
Subject: GUS Programmer's Digest V2 #18
Message-ID: <9306241311.AA21345@pixel.cps.msu.edu>
Date: Wed, 23 Jun 93 15:11:12 EDT
From: dulimart@cps.msu.edu (Hansye S. Dulimarta)
Subject: Gravis/FORTE - Please read this!!!
Message-ID: <9306231911.AA18594@pixel.cps.msu.edu>
I'm reading today's digest (Thu, 24 Jun 1993) and found out that I have
put a wrong subject in my posting. When the above posting was sent, I
was reading Dave MacMahon's posting (david@opl.com) and used "reply"
from my emacs' rmail to save my time. Please apologize if the previous
subject was inappropriate.
Happy GUS hacking,
Hans.
------------------------------
Date: Thu, 24 Jun 93 11:50:55 EDT
From: davidm@opl.com
Subject: Re: GUS Programmer's Digest V2 #18
Message-ID: <AFD59D60-9D610001@woodstock.opl.com>
In GUS Programmer's Digest V2 #18,
dulimart@cps.msu.edu (Hansye S. Dulimarta) wrote:
> This is what I'm doing: Using the information in the file PATCH.H in the
> SDK documentation, I was able to write a program that reads a patch file
> and parses the data in it. Then, using the function UltraDownload, the
> program downloaded the sample waveform to the GUS DRAM, and then
> UltraVoiceOn is called. But.....no sound came out of my speaker. Could
> anybody tell me what I'm doing wrong here?
I have two ideas:
1) Did you call UltraEnableOutput?
2) Did you call UltraSetVolume?
If you don't enable the output and give the voice some volume, you
won't hear any sound.
Hope this helps,
Dave
David MacMahon
Systems Administrator
davidm@opl.com
------------------------------
End of GUS Programmer's Digest V2 #19
*************************************
To post to tomorrow's digest: <gus-sdk%itchy@dsd.es.com>
To (un)subscribe or get help: <gus-sdk-request%itchy@dsd.es.com>
To contact a human (last resort): <gus-sdk-owner%itchy@dsd.es.com>
FTP sites: archive.epas.utoronto.ca pub/pc/ultrasound
wuarchive.wustl.edu systems/msdos/ultrasound
Hints:
- Get the FAQ from the FTP sites or the request server.
- Mail to <gus-sdk-request%itchy@dsd.es.com> for info about
other GUS related mailing lists (UNIX, OS/2, GUS-MIDI, etc.)